<?php
require "BaseController.php";
class Admin_MenuController extends Admin_BaseController{
	private $_identity;
	private $_menuModel;
	private $_pageModel;
	public function init(){
		parent::init();
		$auth = Zend_Auth::getInstance();
		$this->_identity = $auth->getIdentity();
		$this->view->identity = $this->_identity;
		$this->_menuModel = new Model_Menu();
		$this->_pageModel = new Model_Post();
	}
	public function indexAction(){
		//lấy danh sách các menu
		$menus = $this->_menuModel->getAllMenus();
		$this->view->arrMenus = $menus;
		$this->view->arrPages = $this->_pageModel->getAllPages();
		//lấy menu nếu có
		$id = $this->getRequest()->getParam('id');
		if(!empty($id)){
			$menu = $this->_menuModel->getMenuByID($id);
			if($menu){
				$this->view->menu = $menu;
			}else{
				$this->view->message = "<span class='error'>Không tồn tại menu này.</span>";
			}
		}

		$session = new Zend_Session_Namespace();
		$this->view->message = $session->message;
		$session->__unset('message');

		//kiểm tra post
		if($this->getRequest()->isPost()){
			//kiểm tra valid
			//lấy dữ liệu trên form
			$name = $this->getRequest()->getParam('name');
			$link = $this->getRequest()->getParam('link');
			$priority = $this->getRequest()->getParam('priority');
			if(empty($id)){
				//insert
				$id = $this->_menuModel->createMenu($name, $link, '', $priority);
				if($id){
					$session->message = '<span class="success">Thêm menu thành công</span>';
				}else{
					$session->message = '<span class="error">Thêm menu không thành công';
				}
			}else{
				//update
				$rs = $this->_menuModel->updateMenu($id, $name, $link,'', $priority);
				if ($rs){
					$session->message = '<span class="success">Sửa menu thành công';
				}
				else{
					$session->message = '<span class="error">Sửa menu không thành công';
				}
			}
				
			$this->_redirector->gotoRoute(array(),'admin_menu');

		}		
	}
	public function deleteAction(){
		$session = new Zend_Session_Namespace();
		if($this->getRequest()->isPost()){
			$id = $this->getRequest()->getParam('ids');
		}else{
			$id = $this->getRequest()->getParam('id');
		}
		if(!empty($id)){
			$rs = $this->_menuModel->deleteMenu($id);
			if($rs > 0 ){
				$session->message = "<span class='success'>Xóa menu thành công</span>";
			}else{
				$session->message = "<span class='error'>Xóa menu không thành công</span>";
			}
		}else{
			$session->message = "<span class='error'>Có lỗi xảy ra</span>";
		}
		$this->_redirector->gotoRoute(array(), 'admin_menu');
	}
}